【发布时间】:2013-07-22 00:10:44
【问题描述】:
我在 MySql 中有一张 MonthlySubscriber 表:
CREATE TABLE MonthlySubscriber (
MobileNo varchar(20) NOT NULL,
Month int(11) NOT NULL,
PRIMARY KEY (MobileNo, Month)
);
一个手机号码可以在一个多月内多次出现。所以根据手机号,我必须加入我的桌子。
要求:
我想自行加入我的表,并且只希望第一个表中的 MobileNo 和 Month 以及第二个表中的月份。 我想要(第一个表中所有 mobileNo 和月份的计数以及第二个表中的月份)与列中的 order by 和 group by(第一个表中的月份和第二个表中的月份)
MySql 查询:
Select COUNT(t.MSI), t.Mon1 ,t.Mon2 from
( SELECT
MonthlySubscriber.MobileNo as MSI,
MonthlySubscriber.Month as Mon1,
MonthlySubscriber.Month as Mon2
FROM MonthlySubscriber as MonthlySubscriber
LEFT JOIN MonthlySubscriber as MonthlySubscriber on
(MonthlySubscriber.MobileNo = MonthlySubscriber.MobileNo )
ORDER by MonthlySubscriber.Month
)
t GROUP BY t.Mon1, t.Mon2;
我希望在 Hibernate 条件查询中使用完全相同的查询。
例子
表格
> MobileNo || Month
> 852335421 || 1
> 852335421 || 2
> 852335421 || 5
> 994534554 || 3
> 924443443 || 4
> 994534554 || 7
> 864645353 || 1
result should come like this
>count_of_mobileNos || month 1 || month 2
> 2 || 1 || 1
> 1 || 1 || 2
> 1 || 1 || 5
> 1 || 2 || 2
> 1 || 2 || 5
> 1 || 3 || 3
> 1 || 3 || 7
> 1 || 4 || 4
> 1 || 5 || 5
> 1 || 7 || 7
注意月份是 1-12 的整数
【问题讨论】:
-
你能提供样本数据吗?请明确您的问题,或者您能否详细说明/向我们展示您想要实现或输出的内容?
-
抱歉提问方式不好,其实这是我的第一个问题
-
您正在尝试做的是 pivotal table/query 但如果您创建这样的查询并引用具有 12 个子查询的相同查询,我不这样做'不推荐。
标签: mysql hibernate hibernate-criteria