如果我在SQLite中执行标准查询:
SELECT * FROM my_table
我按预期在表中获得了所有记录。如果我执行以下查询:
SELECT *, 1 FROM my_table
我得到了所有记录,所有记录中最右边的列都保持为“ 1”。但是,如果我执行查询:
SELECT *, COUNT(*) FROM my_table
我只有一行(最右边的列是正确的计数)。为什么会有这样的结果?我的SQL不太好,也许这种行为是预期的吗?对我来说,这似乎很奇怪而且不合逻辑:(。
SELECT *, COUNT(*) FROM my_table 不是您想要的,并且它不是真正有效的SQL,您必须按非汇总的所有列进行分组。
你想要类似的东西
SELECT somecolumn,someothercolumn, COUNT(*) FROM my_table GROUP BY somecolumn,someothercolumn