我正在尝试检索mysql数据库中某个列的前5个值。
我有以下查询:
SELECT `dep_aerodrome`,
Count(`dep_aerodrome`) AS `cnt`
FROM sectors
WHERE ( `group` = '".$_SESSION['GROUP']."'
AND ( $bases ) NOT IN dep_aerodrome )
GROUP BY `dep_aerodrome`
ORDER BY `cnt` DESC
LIMIT 5
该查询包含WHERE
子句和NOT IN
,不包括已注册为基准的机场。
我收到以下语法错误:
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在'dep_aerodrome'附近使用正确的语法)第1行的{1}} ORDER BY dep_aerodrome
DESC LIMIT 5'
我无法弄清楚它的来源。任何人都可以帮忙吗?
答案 0 :(得分:2)
试试这个:
SELECT `dep_aerodrome`,
Count(`dep_aerodrome`) AS `cnt`
FROM sectors
WHERE `group` = '".$_SESSION['GROUP']."'
AND ( $bases )
AND dep_aerodrome NOT IN ($some_values)
GROUP BY `dep_aerodrome`
ORDER BY `cnt` DESC
LIMIT 5
我想你想这样做。 $some_values
的格式可以是'value1','value2',...
,如下所示:
dep_aerodrome NOT IN ('value1','value2',...)
答案 1 :(得分:1)
使用NOT IN
的正确语法是
WHERE column_name NOT IN ('value1','value2',...)
如果您想将1个值与多个列匹配,请选中此项。