我有一个MySQL查询。有任何方法简化查询吗?谢谢。
SELECT `column1`,100*CAST(COUNT(*) AS FLOAT) / (SELECT COUNT(*) FROM `table`)
FROM `table`
GROUP BY `column1
我想要计算每个组元素在总条目中的百分比。我想我复制了这个
(SELECT COUNT(*) FROM `table`)
有没有办法不使用SELECT两次就可以得到条目的总数?我正在使用MySQL8.0
我有一个有用的MySQL查询,看起来如下:
SELECT COUNT(*) OVER () AS nrows
FROM warehouse_entries we
LEFT JOIN registry_entities sup ON we.supplier_id=sup.id
LEFT JOIN invoices i ON i.id=we.invoice_id
[...]
GROUP BY we.id
在MariaDB中尝试,我得到了以下错误:
Error Code: 1064
You have an error in your SQL syntax; check the manual t
我之前在R中的一个项目中使用过MS SQL中的ntile函数,但现在我需要在Mysql中更改该项目的数据库。据我所知,Ntile是Sql Server中的一个窗口函数,Mysql中没有。我用谷歌搜索了一下,找到了下面关于Mysql中ntile函数文档的链接。
我已经尝试了上述相同的方法,但仍然面临错误。
我的问题是:
SELECT *, NTILE(10) OVER w AS 'ntile10'
FROM test_table_name w AS (ORDER BY res_rate);
对这个问题有什么想法吗?有什么解决方案可以克服它吗?
我有一个这样的表(还有更多的名字)
name Class Amount
Alex C1 100
Brenda AB 50
Brenda C1 100
Alex AB 200
我想要以下输出,求和为每个名称的总数,但只有当列类等于C1或如果没有C1把它放在最后一个记录的名称。
例如:亚历克斯的总和是300(100+200),从布伦达得到的总和是150(100+50),亚历克斯在第一行有C1,所以总和放在该行而不是最后一行,布伦达没有C1类,所以总和在布伦达的最后一行。
如下所示:
name Class
假设我有一个表号:
number frequency
1 6
2 2
3 8
4 5
在MySQL中,我们可以动态地赋值变量,而不需要声明
select
Number,
@prev := @count as prevNumber,
(@count := @count + Frequency) as countNumber
from Numbers
在Server中,我们可以这样做吗?
我要申报然后再使用?
declare @prev int
declare @counts int
set @prev=0
set @counts=0
所以我想用mySQL得到一个数值列的中位数。 下面是我的代码: SELECT LAT_N FROM STATION
ORDER BY LAT_N
LIMIT SELECT FLOOR(COUNT(*)/2) FROM STATION,1 其中LAT_N是我想要检查的列名,STATION是表名。我得到了以下错误,但我不能理解哪个语法是错误的。 ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server vers
我在Amazon上使用MySQL 8.0.23。
innodb_version是8.0.23版本是8.0.23引擎名,如RDS接口所示,是我的SQL
我可以使用像"WITH“这样的CTE表达式,但是当我尝试使用像这里提到的:这样的窗口函数时,它会抛出一个错误。我错过了什么?
作品:
with items as (
select number from item where updated_date > current_date
)
select * from items
不起作用:
select number, row_number() from item
错误信
我有一个teradata代码,如下所示:
select *
from date_dim a
left join
(select incident_number,incident_type,submit_date from itamr qualify RANK() OVER (PARTITION BY incident_number ORDER BY last_modified_date DESC) = 1)b
on a.Clndr_Dt = b.submit_date
and b.incident_type = 'Request';
我需要将合格等级和分区转换为mysql。我
我在mysql中存储了一个正在构建的日历,其中包含特定日期的事件。
我试图做的是,当用户将鼠标悬停在日历上的特定日期上时,它将查询mysql,并在日历下方的div中检索和显示该天的事件。有什么想法吗?
下面是一些粗略的东西::
<div class='calendar'>
..
..
<div class='cal-day'>
this is div that I want to initiate the hover
so when a user hovers over this div,mysql gets
que
如何从MySQL中的表中随机获取2%的样本?
我尝试了以下查询
SELECT orderID
FROM orders
ORDER BY rand()
LIMIT 1 OFFSET (SELECT convert(0.02 * count(*), unsigned) FROM orders)
;
SELECT orderID
FROM orders
ORDER BY rand()
LIMIT (SELECT convert(0.02 * count(*), unsigned) FROM orders)
;
他们都会犯错误。有人能解释一下错误和
我想做一个查询,其中我有每个设备的总数:数量*成本。 现在,我想要执行一个MySQL查询,其中我创建了一个执行以下操作的临时列: Total - Total of Totals
80 - 80
90 - 170
100 - 270 现在我有一个这样的代码: Select total
from equipment
UNION ALL
select sum(total) from equipment; 它给出了总数下面的总数。我想把它分开,然后在它旁边按顺序做。
我有一个数据库,其中我有标题
Titles
Celeste from the moon
Sweet Dreams Tomorrow
Time machine from past
现在,当我对关键字进行搜索查询时,假设输入'celeste from‘,那么它就会显示我想要的内容,比如来自月球的Celeste。然而,如果我将我的查询改为'celeste the月亮‘,那么它不会显示任何结果。
这是我的查询脚本
if(!empty($_REQUEST['string']))
{
$search_string = " title LIK
我知道有sql查询将计数从1打印到10,如下所示:
select rownum from dual where rownum<=10;
以同样的方式,我尝试在mysql中,但它抛出错误“未知列rownum In field list”。所以,如果有人给我提供mysql查询来执行同样的操作,那就太好了。提前谢谢。
我目前正在将加密市场数据添加到我的mysql数据库。我每分钟有以下数据: Open time
Close time
Highest price
Lowest price
Number of trades 我想将不同时间段的简单移动平均值添加到mysql数据库中。我试着用python做这个计算,但是花了很多时间。因此,我使用以下查询计算了50天时间段的SMA。 mycursor.execute(
"""select
open_date,
avg(close) over(rows between 49 preced
尝试将config.php中的函数“覆盖”包含到其他php页面中。
Index.php:
<?php include("./config/config.php");
over_lay(); ?>
//// html code ////
错误是:
Fatal error: Call to a member function connect() on null in ...\config\config.php on line 182
Config.php的一部分:
include("./config/mysql.php");
function over_
我已经在谷歌上搜索过了,但我找到的只是SQL Server或SELECT TOP 10 PERCENT * FROM SOME_TABLE等MySQL语法,这在甲骨文中是不起作用的。有人能告诉我正确的语法吗?
我阅读了有关CUME_DIST()和PERCENT_RANK()的文档,但我认为它们的工作方式与我认为的不同,它们与我在这里的意思无关。
无论如何,我知道如何从表中获取前N行数据,但如果必须获取N%的数据行,我不知道该如何操作。
问题:在Vertica中设置列值中的行号。
例如:
Table T has two columns: Id, name
我想使用脚本在name的值中添加行号。在mySQl中,我运行以下脚本进行更新:
set @i=0;
update T set name = (CONCAT(name, (@i:=@i+1)));
然而,Vertica不支持变量。
你能提供一种到达目标的方法吗?
我有一张桌子:
如果我想每个月的总数,我可以这样做:
SELECT
id,
month,
SUM(income) as month_income
FROM test
GROUP BY id, month
我明白了:
现在,我希望看到每个用户每月的平均收入(请注意,有些用户的可用月较少)。
我想用这段代码:
with agg_month as (
SELECT
id,
month,
SUM(income) as month_income
FROM test
GROUP BY id, mon
我不是MySql方面的专家,我想做的是,创建一个查询将按月和年份返回正在运行的总计:
SELECT DISTINCT
date_format(t.created_at, "%M") AS month,
date_format(t.created_at, "%Y") AS year,
SUM(COUNT(*)) over (order by MONTH(created_at) ) as cumulative
FROM team t
GROUP BY YEAR(created_at), MONTH(created_at)
ORDER BY
让over子句在mysql中工作的正确语法是什么?
我希望看到由每个用户发送的短信总数,而不是使用group by子句将其分组。
SELECT
username,
count(sentSmsId) OVER (userId)
FROM
sentSmsTable,
userTable
WHERE
userId = sentUserId;
我被提供了一个源文件,用于填充MySQL数据库。我使用Python脚本来清理和转换数据。下面是我试图解决的问题的一个小例子。
源文件
Area | Team |
---------------------------------------
NORTH EAST - CO.DURHAM BL | Winters |
NORTH EAST - NEWCASTLE GT | Summers |
...... |
SOUTH EAST - SOUTHAMPTON BI | Win
我是MYSQL的新手,我正在尝试验证两列中出现多次的同名数据的数量,在这种情况下,我已经尝试使用'having‘语句,它抛给我一个错误,如下面的Error Code: 3593. You cannot use the window function 'count' in this context.'我包含了我正在尝试做的事情的图像
您可以看到,名为"number_of_same_year“的列表示"COUNT OVER PARTITION”输出,其中的数字在逻辑上是可以验证的。我只想显示数字大于1的位置(这意味着多次出现)
ps:我在Win
SELECT AVG(uh1,uh2,uh3,uh4,uh5) AS ruh FROM nilai;
什么错误的函数聚合
我的桌子;
MySQL说:文档
#1064 -您的SQL语法有一个错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行的“uh2,uh3,uh4,uh5”附近使用接近“uh2,uh3,uh4,uh5)作为RUH的正确语法。
是否有任何方法按数据按唯一的month分组,但我也需要选择no_inv和date_inv列。
Mysql查询:
SELECT no_inv, date_inv, SUM(total_unpaid) AS unpaid, SUM(total_paid) AS paid
FROM invoice
GROUP BY MONTH(date_inv)
LIMIT 3
在使用Analysis时,我可以使用AVG创建一种移动平均值,并按照HoppingWindow对它们进行分组,如下所示。
然而,这将创建一个移动平均值的点在最后5秒。是否有方法创建最后n个数据点的移动平均值?我知道我可以调整窗口的大小,使n个点进入窗口,但是是否有一种方法来测量像MySQL和PostgresSQL中的最后n个点呢?
SELECT System.TimeStamp AS OutTime, AVG (value)
INTO
[output]
FROM [input]
GROUP BY HoppingWindow(second,5,1)
我有一个Redshift和Netezza查询,每当我运行它时,COUNT(*)就会增长,因为大多数表都附加了更多的销售额,等等。无论如何,我正在按价格寻找前20%的表,所以我使用ORDER BY price,然后通过做脑力运算来得到前20%,即如果COUNT(*)=10,000,那么我将添加一个静态LIMIT 2000。明天,可能是12,000行,然后我需要运行COUNT(*)并再次更改LIMIT 2400。这显然是不可伸缩的。
我试图编辑这个查询以包含一个动态限制,查找前20%,并且很容易在百分比之间进行更改: 5%、10%等等。所以无论行数多少,我都会得到一致的结果。
下面的示例查询:
S