[英]Not unique table/alias: 'categories'.
我有這個mysql代碼,可以按它們在數據庫中出現的次數來檢索每個類別中最受歡迎的描述-
它抓住了列表,但它回顯了這樣的數據
"Adidas was the most popular in category 5 with 1 occurrences"
我對此興趣(愛好)的表結構是
# interests
CREATE TABLE `interests` (
`interestID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`categoryID` int(11) NOT NULL,
`sessionID` int(11) NOT NULL,
`interest_desc` varchar(30) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`interestID`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
# categories
CREATE TABLE `categories` (
`categoryID` int(11) NOT NULL AUTO_INCREMENT,
`category_desc` varchar(100) NOT NULL,
PRIMARY KEY (`categoryID`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
這是我的SQL命令:
SELECT
interest_desc,
categoryID,
MAX(num_in_cat) AS num_in_cat,
category_name
FROM
(
SELECT interest_desc, categoryID, COUNT(categoryID) AS num_in_cat
FROM interests
GROUP BY interest_desc, categoryID
) subsel
JOIN categories ON subsel.categoryID = categories.ID
GROUP BY interest_desc, categoryID, category_name
我收到此錯誤:
不是唯一的表格/別名:“類別”
完成此操作所需要做的就是對您的categories
表進行內部聯接(您提供正確的表名和列名):
SELECT
interest_desc,
categoryID,
MAX(num_in_cat) AS num_in_cat,
category_name
FROM
(
SELECT interest_desc, categoryID, COUNT(categoryID) AS num_in_cat
FROM interests
GROUP BY interest_desc, categoryID
) subsel
JOIN categories ON subsel.categoryID = categories.ID
GROUP BY interest_desc, categoryID, category_name
試試這些:
如果可行,則更優化,加入
SELECT s.interest_desc, c.name, MAX(s.num_in_cat) AS num_in_cat FROM ( SELECT interest_desc, categoryID, COUNT(categoryID) AS num_in_cat FROM interests GROUP BY interest_desc, categoryID ) s INNER JOIN categories c ON c.ID = s.categoryID GROUP BY s.interest_desc, s.categoryID
要么
不太理想,將另一個選擇添加為列
SELECT s.interest_desc, (SELECT name from categories c WHERE c.ID = s.categoryID), MAX(s.num_in_cat) AS num_in_cat FROM ( SELECT interest_desc, categoryID, COUNT(categoryID) AS num_in_cat FROM interests GROUP BY interest_desc, categoryID ) s GROUP BY s.interest_desc, s.categoryID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.