![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |
SELECT COUNT(id) FROM defaultusers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
COUNT(a.id)
FROM defaultusers a
INNER JOIN photos b ON
b.id = (SELECT MAX(datestamp) FROM photos WHERE user_id = a.id)
INNER JOIN defaultusers c ON c.id = 39212
WHERE
a.status = 'N' and
a.sex = 'w' and
YEAR(CURDATE())-YEAR(a.birthday) <= 30 and
YEAR(CURDATE())-YEAR(a.birthday) >= 16 and
(ACOS((SIN(RADIANS(c.lat))*SIN(RADIANS(a.lat))) + (COS(RADIANS(c.lat))*COS(RADIANS(a.lat))*COS(RADIANS(a.lon)-RADIANS(c.lon)))) * 6378.388) <= 50
ORDER BY a.lastlogin DESC
LIMIT 0,10;
Quotewas genau willst du denn zählen? wenn du die daten aus der anderen
tabelle für die anzahl nicht brauchst, dann lass sie halt raus."
Quotehab ich ja gemacht.
QuoteDer Code dauert mit zwei Statements fast solang, wie nur eines mit SQL_CALC_FOUND_ROWS. Es kommt fast dasselbe dabei raus.
QuoteZum Thema trivial: Das ist nicht möglich, da ich vor dem LEFT JOIn die ID-Primärschlüssel noch nicht kenne.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT
b.id AS file_id,
a.id,
a.name,
IF(sessions.userid IS NOT NULL, '1','0') AS status
FROM defaultusers a
LEFT JOIN sessions ON
a.id = sessions.userid
INNER JOIN photos b ON
b.id = (SELECT MAX(datestamp) FROM photos WHERE user_id = a.id)
INNER JOIN defaultusers c ON c.id = 39212
WHERE
a.status = 'N' and
a.sex = 'w' and
YEAR(CURDATE())-YEAR(a.birthday) <= 30 and
YEAR(CURDATE())-YEAR(a.birthday) >= 16 and
(ACOS((SIN(RADIANS(c.lat))*SIN(RADIANS(a.lat))) + (COS(RADIANS(c.lat))*COS(RADIANS(a.lat))*COS(RADIANS(a.lon)-RADIANS(c.lon)))) * 6378.388) <= 50
ORDER BY a.lastlogin DESC
LIMIT 0,10;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
COUNT(a.id)
FROM defaultusers a
INNER JOIN photos b ON
b.id = (SELECT MAX(datestamp) FROM photos WHERE user_id = a.id)
INNER JOIN defaultusers c ON c.id = 39212
WHERE
a.status = 'N' and
a.sex = 'w' and
YEAR(CURDATE())-YEAR(a.birthday) <= 30 and
YEAR(CURDATE())-YEAR(a.birthday) >= 16 and
(ACOS((SIN(RADIANS(c.lat))*SIN(RADIANS(a.lat))) + (COS(RADIANS(c.lat))*COS(RADIANS(a.lat))*COS(RADIANS(a.lon)-RADIANS(c.lon)))) * 6378.388) <= 50
ORDER BY a.lastlogin DESC
LIMIT 0,10;
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |