Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL命令中使用';分组依据';和';哪里在';在一起_Mysql_Sql - Fatal编程技术网

mySQL命令中使用';分组依据';和';哪里在';在一起

mySQL命令中使用';分组依据';和';哪里在';在一起,mysql,sql,Mysql,Sql,我有一个包含以下列的表:DATE、TICKER和ID. 本质上,我试图用下面的代码做的是选择所有的股票代码及其对应的ID(它可以有多个ID)。但是,在表中,有多个条目,其中,股票代码可以具有相同的ID,但属于不同的日期,因此在本例中,我选择日期最小的ID SELECT MIN(DATE), TICKER, ID FROM Names GROUP BY TICKER, ID WHERE TICKER IN (

我有一个包含以下列的表:
DATE、TICKER和ID.
本质上,我试图用下面的代码做的是选择所有的股票代码及其对应的ID(它可以有多个ID)。但是,在表中,有多个条目,其中,股票代码可以具有相同的ID,但属于不同的日期,因此在本例中,我选择日期最小的ID

SELECT 
       MIN(DATE), 
       TICKER, 
       ID 
FROM Names 
GROUP BY 
        TICKER, 
        ID 
WHERE TICKER IN ('A', 'B')
现在,当我独立地尝试这些命令时,它是有效的,但是我相信当我将
groupby
WHERE IN
命令组合在一起时,会出现一些错误,因为我得到了一个语法错误


如果有什么不清楚的地方,请告诉我,我会尽力澄清。

WHERE
子句位于
GROUP BY
子句之前

SELECT MIN(DATE), TICKER, ID 
FROM Names 
WHERE TICKER IN ('A', 'B')
GROUP BY TICKER, ID 

WHERE
子句之前使用
GROUP BY
子句,维护子句序列

SELECT MIN(DATE), TICKER, ID 
FROM Names 
WHERE TICKER IN ('A', 'B')
GROUP BY TICKER, ID 

如果没有GROUP BY,其中IN将位于最后,但如果GROUP BY存在,则应位于最后。像这样使用

SELECT MIN(DATE),
TICKER, ID 
FROM Names 
WHERE TICKER IN ('A', 'B')
GROUP BY TICKER, ID 

执行顺序

执行SQL查询时,将按以下顺序执行

FROM

ON

JOIN

WHERE

GROUP BY

HAVING

SELECT

DISTINCT

ORDER BY

TOP
这是执行顺序

SELECT MIN(DATE),TICKER, ID 
FROM Names 
WHERE TICKER IN ('A', 'B')
GROUP BY TICKER, ID 

有关更多信息,请使用相同的id,嗯?那么你的主键是什么呢?哦,看来你现在一定已经知道了谢谢,现在开始工作了,你介意告诉我子句序列吗,我粗略地浏览了一下SQL,从来没有遇到过。你可以检查这个