首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -在列中包含特定字符串的行

MySQL -在列中包含特定字符串的行
EN

Stack Overflow用户
提问于 2015-03-02 12:19:11
回答 2查看 33关注 0票数 1

我希望得到4个结果,这些结果通常在4行中返回,然后在2行中返回。

我有一个疑问:

代码语言:javascript
复制
SELECT meta_key, meta_value, t.post_date_gmt FROM (SELECT * 
FROM dr_posts
JOIN dr_postmeta ON post_id = ID
WHERE post_author = 2
AND post_type ='donation') AS t WHERE meta_key = '_donation_amount' OR meta_key= '_anonymous_donation'

返回:

代码语言:javascript
复制
=======================================================
|       meta-key       |  meta-value  | post_date_gmt |
=======================================================
| _anonymous_donation  |       0      |   2015-03-01  |
|   _donation_amount   |       10     |   2015-03-01  |
| _anonymous_donation  |       0      |   2015-03-02  |
|   _donation_amount   |       15     |   2015-03-02  |
_______________________________________________________

我真正想要的(列名并不重要--只是结果):

代码语言:javascript
复制
=============================================================
| _anonymous_donation  |  _donation_amount  | post_date_gmt |
=============================================================
|           0          |         10         |   2015-03-01  |
|           0          |         15         |   2015-03-02  |
_____________________________________________________________

怎么做?我读到我需要使用PIVOT,但我不确定这是否是我真正需要的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-02 12:41:30

我认为这个查询应该做您想做的事情:

代码语言:javascript
复制
select 
    max(case when meta_key =  '_anonymous_donation' then meta_value end) as '_anonymous_donation',
    max(case when meta_key =  '_donation_amount' then meta_value end) as '_donation_amount',
    post_date_gmt
from (SELECT * 
    FROM dr_posts
    JOIN dr_postmeta ON post_id = ID
    WHERE post_author = 2
    AND post_type ='donation'
    ) AS t
WHERE meta_key = '_donation_amount' OR meta_key= '_anonymous_donation'
group by post_date_gmt
票数 1
EN

Stack Overflow用户

发布于 2015-03-02 12:32:37

我想这可能会有帮助

代码语言:javascript
复制
select min(meta-value) as  _anonymous_donation,
       max(meta-value) as _donation_amount,
       post_date_gmt  
from table
group by post_date_gmt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28809625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档