我的产品表中有一个 int字段,product_stat每次查看产品时都会增加.我还有一个名为的日期字段product_date_added.
为了计算产品每天的平均访问量,您需要使用当前日期和产品添加日期来计算产品存在的天数.然后将产品统计除以其存在的天数以获得每天的平均访问量.
好的但我想做的是选择一些产品并按每天的访问量排序 DESC
我怎样才能做到这一点?
谢谢!!!
我有一个以下的oracle查询:
SELECT a.USER_ID,
c.first_name,
c.last_name,
TO_CHAR( b.logon_date, 'MM/DD/YYYY HH:MI:SS am') logon_date,
NVL(TO_CHAR( b.logoff_date, 'MM/DD/YYYY HH:MI:SS am'), '') logoff_date,
a.session_id
FROM table a,
table b,
table c
WHERE a.row_id >= start_row
AND a.row_id <= end_row
AND a.session_id = b.session_id
AND a.USER_ID = b.USER_ID
AND a.USER_ID = RTRIM(LTRIM(c.USER_ID))
ORDER BY logoff_date DESC
Run Code Online (Sandbox Code Playgroud)
查询工作正常,如果我删除 order by
我希望order这个查询的结果按DESC顺序基于logoff_date我使用to_char它来使它成为一个时间在上午/下午的日期
我尝试给予以下作为 order_by
NVL(TO_CHAR( b.logoff_date, 'MM/DD/YYYY HH:MI:SS am'), '')
Run Code Online (Sandbox Code Playgroud)
但结果又回来了:
03/03/2010 12:59:37 am
03/03/2010 12:53:12 pm
03/03/2010 12:41:40 pm …Run Code Online (Sandbox Code Playgroud) 我有一个页面显示"特别优惠",我需要按折扣价格订购结果.此外,我希望数量= 0的产品显示在列表的末尾(无论折扣值如何).
那么,有没有办法只使用SQL?我的意思是......如果我设置"ORDER BY折扣,数量DESC"列表显示按折扣订购的产品,并且每组折扣按数量值排序......这不是我想要的.
提前致谢...
是否可以按某些列和RAND()对结果集进行排序?
例如:
SELECT `a`, `b`, `c`
FROM `table`
ORDER BY `a` DESC, RAND()
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
谢谢.
是否可以用jQuery重新排序某些div。我的div很少,我想根据div中的数据索引号在页面加载时对其重新排序。
现在:
<div class="score" data-index="3">3</div>
<div class="score" data-index="2">2</div>
<div class="score" data-index="1">1</div>
<div class="score" data-index="4">4</div>
Run Code Online (Sandbox Code Playgroud)
我想要的是:
<div class="score" data-index="1">1</div>
<div class="score" data-index="2">2</div>
<div class="score" data-index="3">3</div>
<div class="score" data-index="4">4</div>
Run Code Online (Sandbox Code Playgroud)
我相信使用jQuery应该有可能。我去每个div并获取数据索引号,但是如何实际排序:D
谢谢!
编辑:一件事是HTML的顺序可以在每次页面加载时变化(顺序可以为3、2、1、4或4、1、3、2或其他任何形式)。
这是我现在拥有的唯一JS:
$("html .score").each(function(index, domEle) {
var score = $(domEle).attr("data-index");
alert(score);
});
Run Code Online (Sandbox Code Playgroud)
只是得到数据索引号警报它。
我如何通过此查询订购?
当我尝试将orderby添加到sql查询时,我遇到了问题.
原始查询是:
SELECT SQL_CALC_FOUND_ROWS `client_data`.userid,users.username as name,
users.guid, `client_data`.fname,
`client_data`.country,`client_data`.city,
DATE_FORMAT(`client_data`.startdate, '%d-%m-%Y') as startdate,
DATE_FORMAT(`client_data`.enddate, '%d-%m-%Y') as enddate, `client_data`.registerdate,
`client_data`.agents, `client_data`.phone1, `client_data`.phone2, `client_data`.email,
`client_data`.officeName, `client_data`.address,
users.password, `client_data`.private,
users.`machineid`
FROM `client_data`
join users
on (users.iid=`client_data`.userid)
GROUP BY `client_data`.userid
LIMIT 0, 25
Run Code Online (Sandbox Code Playgroud)
我添加"ORDER BY'client_data'.userid"来查询,然后它不起作用.新查询:
SELECT SQL_CALC_FOUND_ROWS `client_data`.userid,users.username as name, users.guid,
`client_data`.fname, `client_data`.country,`client_data`.city,
DATE_FORMAT(`client_data`.startdate, '%d-%m-%Y') as startdate,
DATE_FORMAT(`client_data`.enddate, '%d-%m-%Y') as enddate,
`client_data`.registerdate, `client_data`.agents, `client_data`.phone1, `client_data`.phone2,
`client_data`.email, `client_data`.officeName,
`client_data`.address, users.password,
`client_data`.private, users.`machineid`
FROM `client_data`
join users
on (users.iid=`client_data`.userid)
GROUP BY `client_data`.userid
LIMIT 0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将n个最近的条目列表放入数据库中,但是将它们按升序排序.
显然我可以使用以下内容来获得前n个条目:
SELECT owner_id,message
FROM messages
WHERE thread_id = ?
ORDER BY time ASC
LIMIT ?
Run Code Online (Sandbox Code Playgroud)
或者这可以获得最近的5个降序:
SELECT owner_id,message
FROM messages
WHERE thread_id = ?
ORDER BY time DESC
LIMIT ?
Run Code Online (Sandbox Code Playgroud)
但是如何按升序排列最近的5?我可以在PHP中反转数组的顺序,但这似乎有点低效.
我对行号使用求和窗口函数,类似于此查询-
SELECT field_a,
SUM(1) OVER (PARTITION BY field_b ORDER BY field_c ASC ROWS UNBOUNDED PRECEDING) AS row_number
FROM test_table
ORDER BY row_number;
Run Code Online (Sandbox Code Playgroud)
问题在于,如果field_c为空值,它将显示在末尾。我在一开始就想要它,因此将null值视为小于所有其他值。在Oracle中,可以通过提供NULLS FIRST参数来实现,但是Redshift不支持该参数。那么如何在Redshift中实现它呢?
我有两名选手和比分。在玩家表上,我有两个字段,名称和ID(PK)在得分上,我有几个字段[id_score(PK),优胜者和散客是玩家ID的外键] id比赛和id匹配。
Players
id_players | name
------------+-----------
41 | Antonia
42 | Roberto
43 | Luis
44 | Pedro
45 | Fernando
46 | Alejandra
47 | Rene
48 | Julieta
Scores
id_score | id_matches | winner | looser | id_tournament | round
----------+------------+--------+--------+---------------+-------
19 | 22 | 41 | 42 | 21 | 1
20 | 23 | 43 | 44 | 21 | 1
21 | 24 | 45 | 46 | 21 | 1
22 | 25 …Run Code Online (Sandbox Code Playgroud) SELECT * from table1 where column1 IN (SELECT column1 from table1 ORDER BY column1);
Run Code Online (Sandbox Code Playgroud)