以下查询:
SELECT
year, id, rate
FROM h
WHERE year BETWEEN 2000 AND 2009
AND id IN (SELECT rid FROM table2)
GROUP BY id, year
ORDER BY id, rate DESC
Run Code Online (Sandbox Code Playgroud)
收益率:
year id rate
2006 p01 8
2003 p01 7.4
2008 p01 6.8
2001 p01 5.9
2007 p01 5.3
2009 p01 4.4
2002 p01 3.9
2004 p01 3.5
2005 p01 2.1
2000 p01 0.8
2001 p02 12.5
2004 p02 12.4
2002 p02 12.2
2003 p02 10.3
2000 p02 8.7
2006 p02 …
Run Code Online (Sandbox Code Playgroud) 下面是我的表
表格1
+--------+----------+---------+
| amount | make | product |
+--------+----------+---------+
| 100 | Nokia | Mobiles |
| 300 | Samesung | Mobiles |
| 700 | Micromax | Mobiles |
| 1000 | Karbonn | Mobiles |
| 500 | Lava | Mobiles |
| 100 | Floyer | Gift |
| 500 | Arichies | Gift |
| 300 | Feeling | Gift |
+--------+----------+---------+
Run Code Online (Sandbox Code Playgroud)
现在我想为每种产品显示两个最高金额...
所以我想构建单个SQL查询,它给出了如下结果.
+--------+----------+---------+
| amount | make | product |
+--------+----------+---------+
| …
Run Code Online (Sandbox Code Playgroud) 我收到错误,并未设置所有已命名的参数.以下是我的代码.
我的SqlQuery在mysql提示符下运行正常,你可以在问题SQL Query中引用模式
SELECT t.*
FROM (
SELECT @lim := 2,
@cg := ''
) vars,
(select * from Table1 order by product,amount, make) t
WHERE CASE WHEN @cg <> product THEN @r := @lim ELSE 1 END > 0
AND (@r := @r - 1) >= 0
AND (@cg := product) IS NOT NULL
ORDER BY
product,amount, make
Run Code Online (Sandbox Code Playgroud)
我的java代码
try {
context.dbl.startTransaction();
Session session = context.dbl.getSession();
//String sqlQuery = "from com.infibeam.inventoryservice.dbObjects.PopularBrandDO";
String sqlQuery = "SELECT …
Run Code Online (Sandbox Code Playgroud)