[英]Adding where clause to this SQL statement
我在本周早些時候問了一個問題,得到以下陳述作為答案:
select published, count(*) nbr
from table1
group by published
order by nbr desc
limit 1
現在,我想知道如何在語句中添加where子句,以便可以將結果限制在不同類型的出版物中。 我的桌子看起來像這樣:
where子句將在type列上,例如,其中type=3
。
提前致謝
院長
是時候開始學習一些基本的SQL了,您不覺得嗎? :)
http://dev.mysql.com/doc/refman/4.1/en/select.html
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name'
| INTO @var_name [, @var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
當然,只需在FROM
語句之后和GROUP BY
語句之前添加WHERE
語句。
select published, count(*) nbr
from table1
where type = 3
group by published
order by nbr desc
limit 1
關於基本規則,請參見where子句在每一行上施加約束。 行級別約束首先創建一個進行分組的表。 因此,Group排在后面。 如果要使用組級別約束,則可以使用Haveing子句,但請記住一件事,可以將具有約束條件僅應用於組中常見的項目(在您的情況下為發布的項目)。
如前所述,在您的情況下,Where子句將放在“ group by”之前,在“ from table1”之后
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.