在MySQL中,这两个查询之间有区别吗?
SELECT * FROM .... ORDER BY Created,Id DESC
和
SELECT * FROM .... ORDER BY Created DESC, Id DESC
所需的行为:按"Created“(时间戳)排序(降序),但当两个项目具有相同的"Created”值时,则退回到使用Id排序( desc )。
我有一个基本的MySQL查询:
$getFeed = "SELECT posts.postID, posts.postTitle, .....
FROM posts
LEFT JOIN users ON posts.userID = users.id
LEFT JOIN postScore ON posts.postID = postScore.postID
GROUP BY posts.postID
$feedResult = mysql_query($getFeed) or die;
while($row1 = mysql_fetch_array($feed
首先,我做了一个简单的留言簿,现在我希望最后的评论显示在网站的第一个位置。我的计划是按日期或ID按降序对数据库中的行进行排序。以下是代码片段:
mysql_query("SELECT * FROM `guestbook` ORDER BY `Date` DESC") or die("Mysql error: " . mysql_error());
这段代码不会导致任何错误,但注释是第一次显示。我也从phpMyAdmin复制了代码,但结果是相同的。使用auto_increment时,ID的类型当然是INT,而Date的类型是VARCHAR (我已经将日期和时间存储
如何对表中列中的日期进行排序?(时间戳)
请注意,我不是要求按日期对行进行排序,而是询问如何在记录中交换日期,以便所有日期都按正确的顺序排列;而不需要更改任何其他内容。
例如:
id foo bar
1 A 03-03-2030
2 B 01-01-2010
3 C 02-02-2020
变成..。
id foo bar
1 A 01-01-2010
2 B 02-02-2020
3 C 03-03-2030
首选解
我有一个日期列(时间戳数据类型),我想获取所有的记录并以月和年的格式显示它(降序)。
For e.g.
Created Date Amount
Oct 2015 2000
Mar 2015 5000
Jun 2014 4000
Jan 2014 1000
我在MySQL中尝试了下面的查询,但没有成功。
SELECT Month(created_at) AS month, Year(created_at) AS year, SUM(final_amount) AS amount
FROM sales
GROUP BY month, year
我必须根据时间按升序获取记录,但它正在检索数据,如01:pm比09:am和最后11:00在这里存储的时间是12小时格式,列结构是varcha,但由于原因我不能将其更改为mysql时间,因此如何根据am pm按升序获得时间?
SELECT *
FROM table
ORDER BY STR_TO_DATE(time_slot,'%h.%i%p')
current output:
01:00 pm
09:00 am
11:00 am
Expected output:
09:00 am
11:00 am
01:00 pm
我有这样的数据库:
+----------+----------+------+
| username | password | time |
+----------+----------+------+
| a | b | 1234 |
| c | d | 5678 |
| e | f | 9012 |
+----------+----------+------+
现在我得按时间安排这个,所以我跑了:
mysql_query("SELECT * FROM `table` ORDER BY `time`
我的MySql查询有点问题:我有两个表:
表时间线
id | date | text
1 2013-10-13 Hello
表reps
id | date | text
1 2013-10-12 Its me again
1 2013-10-11 What?
1 2013-10-10 Lorem ipsum
我正在做的是,UNION ALL时间线和reps.First行应该始终是从时间线(始终是一行)的行,然后是代表表中的所有行,但按DESC顺序排列。
我的查询如下(除order外,该查询工作正常)
select id,date,text
我创建了一个包含message, sender, to, time的表,我希望按发件人分组和按时间排序这是我的代码
$query= mysql_query("SELECT * FROM `table` ORDER BY `time` GROUP BY `sender`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
$num = mysql_num_rows($query);
$msg = $arr ['message'];
echo '</br>';
我正在阅读高性能MySQL,我对延迟连接感到有点困惑。
书中说,以下操作不能按索引(性别、评级)进行优化,因为高偏移量要求他们花费大部分时间扫描大量数据,然后将其丢弃。
mysql> SELECT <cols> FROM profiles WHERE sex='M' ORDER BY rating LIMIT 100000, 10;
虽然延迟连接有助于最小化MySQL必须完成的收集数据的工作量,但它只会丢弃这些数据。
SELECT <cols> FROM profiles INNER JOIN (
SELECT <primary ke
下面是我正在使用的SQL语句。
$sql = "SELECT surname, forename, count(*) FROM people WHERE user_id='$user_id'
GROUP BY surname ORDER BY time";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
if($count > 0){
while($row = mysql_fetch_array($result)) {
$i = $i +1;
$person[$i
编辑:按请求添加完整查询。
本质上,我有一张链接到多个帖子的帖子表,类似于Twitter。我想加载按重新发布的时间(如果有)或原帖子的时间排序的帖子。但是,使用单个查询(可能会导致合并(x,y)没有充分利用MySQL索引这一事实),排序过程非常缓慢。对两个相关表的时间列都进行了索引。
我的查询如下所示。
SELECT * FROM Post p LEFT JOIN p.reposts ON ... WHERE ...
ORDER BY COALESCE(r.time, p.time) LIMIT 0, 10
更确切地说(伪ish),因为我使用的是DAL:
SELECT * FROM Post
我正在使用MySQL,我想要对一条记录进行排序,或者我想对一条记录进行分组,然后再按另一个条件对其进行排序,例如,我有6个项目,
Names Group
Jack G1
Dian G2
Emily G2
Dean G1
Teddy G2
Gabe G1
因此,我想按字母顺序或按名称按组进行排序。喜欢,
Dean G1
Gabe G1
Jack G1
Dian G2
Emily G2
Teddy G2
所以我的问题是,我如何在MySQL中进行这样的排序?
谢谢。
我需要显示按日期分组并按时间排序的记录。在mysql表中,我有一个名为entry_time的字段,其中存储了php time()值。有什么想法是最紧凑、最简单的方法吗?
例如:我需要一个像这样的显示器:
21st April
3:00 pm
3:50 pm
22 April
5:00 am
4:00 pm
我需要在MySQL中保持一个任务队列。当从DB读取它们时,我必须确保顺序与持久化的顺序完全相同。一般来说,我更喜欢与DB无关的解决方案(即纯JPA),但是添加一些Hibernate和/或MySQL的味道也是可以接受的。
我的(可能是天真的)第一个版本看起来如下:
em.createNamedQuery("MyQuery", MyTask.class).setFirstResult(0).setMaxResults(count).getResultList();
其中,MyQuery没有任何"order“子句,即它看起来如下:
SELECT t FROM MyTasks
我有很多InnoDB MySQL表的PK id。我想尽快通过PK删除记录。is是完全随机的,没有办法按间隔删除它们。我认为最好的方法是通过IN(...)删除它们谓词
但是如果我将所有内容都从T WHERE id IN(...)中删除它的工作时间:150万次重复1-2个小时。
也许,我应该把它分成几批,但是哪一批的大小将是最优的?
我正在使用一个MySQL数据库,通过PHP访问它,我希望它不显示比今天的日期更早的条目。我花了很长时间来点菜。我以前让它起作用的,现在不行了。我已经由ASC订购,按日期,很好,但它仍然显示较旧的条目。我知道我的PHP已经过时了,但是任何方法都适用于我。这是我的密码。
对不起,如果我是个十足的.如果我不知道的话,我会来这里,而且我对这件事还比较陌生,而且总是被人挂断约会。
到目前为止,有人建议:更改"date“列的名称。“日期”存储为日期时间,而不是字符串,因此要将其更改为int。
// this is where its set to show today and future dat