squ*_*man 11 t-sql sql-server count distinct
假设我有Table1,它有重复的行(忘记它没有主键......)是否可以在不使用JOIN,子查询或CTE的情况下重写以下内容,也无需拼写出类似于某些内容的列.通过...分组?
SELECT COUNT(*)
FROM (
SELECT DISTINCT * FROM Table1
) T1
Run Code Online (Sandbox Code Playgroud)
awr*_*t18 11
你可以做这样的事情.
SELECT Count(DISTINCT ProductName) FROM Products
Run Code Online (Sandbox Code Playgroud)
但如果你想要一个完全不同的记录计数,那么你将不得不使用你提到的其他选项之一.
如果你想做一些你在问题中建议的事情,那么这意味着你的表中有重复的记录.
如果你没有重复的记录,SELECT DISTINCT * from table 那么没有相同的记录是相同的.
不,这是不可能的.
如果您受框架/查询工具/其他任何限制,不能使用子查询,并且不能拼写出GROUP BY中的每个列名,那么您就是SOL.
如果您不受框架/查询工具/任何限制,则没有理由不使用子查询.
| 归档时间: |
|
| 查看次数: |
28398 次 |
| 最近记录: |