可以在一个Select Query中使用“Distinct”键字两次吗?像智者一样:
select DISTINCT(trackid), DISTINCT(table_name)
from jos_audittrail
where live = 0 AND operation = UPDATE
由于
答案 0 :(得分:4)
否,默认情况下,Distinct适用于您选择的所有列。 例如。
select DISTINCT trackid, table_name
from jos_audittrail
where live = 0 AND operation = UPDATE
这将选择所有不同的trackid和表名组合
编辑
要检索除此之外的其他记录,您可以使用davek给出的答案。它会起作用。
您可以使用group by
执行此项工作,因为group by正应用于所提供的两个列,因此不需要聚合函数。
SELECT trackid, table_name FROM jos_audittrail
WHERE live = 0 AND operation = 'UPDATE'
GROUP BY trackid, tablename
答案 1 :(得分:2)
select trackid
, table_name
, count(*)
from jos_audittrail
where live = 0 AND operation = UPDATE
group by trackid, table_name
order by trackid, table_name
会给你两者的不同组合。
答案 2 :(得分:2)
不,你无法使用它,它会引发错误,但还有其他选择,你可以想到得到你想要的结果
答案 3 :(得分:0)
找到这个的最简单方法就是运行查询。我刚试过,但没用。
但是,您可以在GROUP BY
中使用两列 - 只需执行此操作:
select trackid, table_name from jos_audittrail where live = 0 and operation = 'UPDATE' group by trackid, tablename