English 中文(简体)
Join,但只有一次获得最新日期
原标题:Join but only get once with newest date
  • 时间:2011-10-19 19:47:37
  •  标签:
  • mysql

i have data like this.
Table customer

| customerId | fullName     | sex
| 1          | Budi Arsana  | Male
| 2          | Peter Parker | Male

缩略语

| Id | bookingDate | customer
| 1  | 2011-09-01  | 1
| 2  | 2011-09-30  | 1
| 3  | 2011-09-01  | 2

而我只想得出以下结果:选择有交易客户的2张表格,到最近只有1份交易。 和

| customerId | fullName     | sex  | transId | bookingDate
| 1          | Budi Arsana  | Male | 2       | 2011-09-30
| 2          | Peter Parker | Male | 3       | 2011-09-01
最佳回答
SELECT c.customerId, c.fullName, c.sex, t.Id AS transId, t.bookingDate
    FROM customer c
        INNER JOIN (SELECT customer, MAX(bookingDate) AS MaxDate
                        FROM transaction
                        GROUP BY customer) q
            ON c.customerId = q.customer
        INNER JOIN transaction t
            ON q.customer = t.customer
                 AND q.MaxDate = t.bookingDate;
问题回答

加入:

SELECT c.customerId, c.fullName, c.sex, t.Id AS transId, t.bookingDate
  FROM customer c
       LEFT JOIN transaction t ON t.customer = c.customerId
       LEFT JOIN transaction t2 ON t2.customer = t.customer
   AND t2.bookingDate > t.bookingDate 
 WHERE t2.Id IS NULL;

原则是,你创建另一个加入<代码>transaction table (t 2)和用于从最后结果中除最新记录外全部删除(t)。

洞穴: 如果每个客户每天有多个书记,这不会奏效。 在此情况下,你可能希望从日期到时间。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签