我想寫一個mysql查詢來獲取我所有的表數據和總記錄數。如何使用mysql單個查詢獲取總數的數據
例如,這是我的表
ID Name typeId
1 test1 1
2 test2 1
3 test3 2
如果我將與類型ID 1來獲取數據,我需要這樣的
Name count
test1 2
test2 2
我如何寫sql對於這種結果的結果。 我不想子查詢。我想用子查詢獲取數據 請幫助我。
感謝
我想寫一個mysql查詢來獲取我所有的表數據和總記錄數。如何使用mysql單個查詢獲取總數的數據
例如,這是我的表
ID Name typeId
1 test1 1
2 test2 1
3 test3 2
如果我將與類型ID 1來獲取數據,我需要這樣的
Name count
test1 2
test2 2
我如何寫sql對於這種結果的結果。 我不想子查詢。我想用子查詢獲取數據 請幫助我。
感謝
看着你想要的結果,這是一個奇怪的要求,因爲你希望所有的計數(不是針對每個Name
)。您可以使用子查詢的是:
SELECT `Name`, (SELECT COUNT(*) FROM myTable) as `COUNT`
FROM myTable
或者,如果你想指望每個Name
試試這個:
SELECT `Name`, COUNT(*) AS `COUNT`
FROM myTable
GROUP BY `Name`;
編輯:
當你有更新了您的問題,您的查詢應該是這樣的:
SELECT `Name`,
(SELECT COUNT(*) FROM myTable WHERE TypeId = 1 GROUP BY TypeId) as `COUNT`
FROM myTable WHERE TypeId = 1;
SELECT name, count(*) AS count FROM <TABLE NAME> GROUP BY name;
select name,count(*) as count from tablename where typeid=1 group by name
請檢查我更新的問題。 – learner
請檢查回答 – jainvikram444
或者是使用CROSS JOIN
這裏
SELECT name, c.totalCount
FROM Table1, (SELECT COUNT(*) totalCount FROM Table1) c
請檢查我更新的問題。我不想子查詢。我想用子查詢獲取數據 – learner
SELECT t.*, count(\*) AS count FROM myTableName as t GROUP BY t.Name;
是計數只是在表中的記錄數,或別的東西? – BugFinder
您編輯的示例似乎沒有任何意義。你可能是想在輸出中放置'typeId'而不是'Name'?無論如何,爲什麼在這兩種情況下計數等於2? –