我有一個包含文本列的表格。我可以生成一個可以分隔不同行數的表,如下所示:
DROP TABLE IF EXISTS msgs;
CREATE TABLE msgs (
Msg TEXT
);
INSERT INTO msgs(Msg) SELECT DISTINCT Message FROM Log;
但是我想在表格中添加一列msgs來說明Msg實際發生了多少次Log。我嘗試閱讀SQLite COUNT頁面,但我不清楚如何將其放入INSERT INTO陳述句中。我對 SQL 中更高級(中級?)的東西不熟悉,所以我發現很難理解它。關于我如何做到這一點的任何想法?任何可以幫助我弄清楚這一點的參考材料也將不勝感激。
uj5u.com熱心網友回復:
在這種情況下,您應該使用GROUP BY聚合函式而不是 DISTINCT,COUNT()
DROP TABLE IF EXISTS msgs;
CREATE TABLE msgs (
Msg TEXT
Msg_count int
);
INSERT INTO msgs(Msg, msg_count)
SELECT Message, count(Message) as msg_count FROM Log
group by Message;
uj5u.com熱心網友回復:
您可以使用 聚合資料集GROUP BY。例如:
CREATE TABLE msgs (
Msg TEXT,
cnt int
);
INSERT INTO msgs(Msg, cnt)
SELECT Message, count(*)
FROM Log
GROUP BY Msg;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480477.html
