[英]MySQL: How to get values from Multiple Columns in one column
我有2個數據表。 “關鍵字”和“數據”。
key_id (P)
key_word
key_prod (I)
kay_country
key_is_wr
和
id (P)
dat_id (I)
dat_date
dat_is_weekly
對於每個關鍵字,數據表中鏈接了一些不同的行dat_date
日期不同或相同 。 我只想獲取該表中存在的日期的所有變體一次,因此我可以將它們全部顯示在PHP代碼的數組中。
這是我當前正在使用的查詢-它從我需要的特定“ key_app”值中獲取相同日期的列表。 但是我只想獲取此特定key_id存在的日期數組。
SELECT * FROM `keywords`
JOIN `data`
ON `keywords`.`key_id` = `data`.`dat_id`
WHERE `keywords`.`key_app`= 10
我只是還不知道如何:1.僅獲取dat_date部分(我想我需要data
dat_date
而不是查詢中的“ *”。2.如何僅獲取每個key_prod
存在的不同日期。
我嘗試使用各種ORDER BY和MAX(id),但就語法而言,似乎沒有任何方法能很好地工作
SELECT * FROM `keywords`
JOIN (
SELECT MAX(id) AS id
FROM `data`
GROUP BY `data`.`dat_date`
) `keywords`
ON `keywords`.`key_prod`=10
我已經挖掘了一段時間,但沒有正確的結果
示例:如果我在dat_date
下有vars
2016-06-21
2016-06-21
2016-06-21
2016-06-22
2016-06-22
2016-06-23
2016-06-23
對於特定的key_app
我將得到:
2016-06-21
2016-06-22
2016-06-23
作為查詢結果
嘗試這個。
select distinct data.dat_date
FROM `keywords`, `data`
ON `keywords`.`key_prod` = `data`.`dat_id`
WHERE `keywords`.`key_app`= 10
您的第一個查詢是如何僅顯示日期。 可以使用select data.dat_date
而不是select *
來完成。 Distinct
將僅列出不同的日期,而不是與查詢2相同的日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.