내 테이블 데이터는SQL 쿼리는 "저장된 데이터의 다른 방법을"계산하려면 여기를
티켓
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ id | tic_files |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 | 56456sasd.jpg,asd4455asd.jpg,asd564asd5.txt,asd564asd.css |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 | 56a4sdasd.txt,jkasd5ass.jpg |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 | |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 | asdjhagsd.gif,spsnd65asd.php,56a4sd54asd.txt |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
댓글 여기
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ id | tic_id | com_files |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 | 1 | 56456sasd.jpg,asd4455asd.jpg,asd564asd5.txt |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 | 3 | 56a4sdasd.txt,jkasd5ass.jpg |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 | 1 | sdf54sdf.gif,swrsdf54sdf.rar |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 | 2 | asdjhagsd.gif,spsnd65asd.php,56a4sd54asd.txt |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
내 문제 그리고 나의 시도가 있습니다
나 이
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ tic_id | count(tic_files) | count(com_files) |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 | 4 | 5 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 | 2 | 3 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 | 0 | 2 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 | 3 | 0 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
처럼되고 결과 나는이
이 GROUP_CONCAT와 티켓 (의견을) 가입이
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| tic_id | tic_files | com_files |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 1 | 56456sasd.jpg,asd4455asd.jpg,asd564asd5.txt,asd564asd.css | 56456sasd.jpg,asd4455asd.jpg,asd564asd5.txt,sdf54sdf.gif,swrsdf54sdf.rar |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 2 | 56a4sdasd.txt,jkasd5ass.jpg | asdjhagsd.gif,spsnd65asd.php,56a4sd54asd.txt |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 3 | | 56a4sdasd.txt,jkasd5ass.jpg |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 4 | asdjhagsd.gif,spsnd65asd.php,56a4sd54asd.txt | |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
같은 데이터를 어떤 것을 가져하려고 노력하지만 난하려고합니다 원하는 group_concat 이상 사용 (모든 서버에서 제한은 1024kb입니다.) 그래서 파일 사이에 사용 구분 기호를 가져오고 싶습니다. ","
이 내 쿼리
SELECT
cat_id as cat__id ,
cat_name,(
SELECT count(tickets.tic_id) from tickets INNER JOIN cats on(tickets.tic_cat = cats.cat_id) where tickets.tic_cat = cat__id group by tickets.tic_cat limit 1
) as "count(tickets)",(
SELECT (LENGTH(GROUP_CONCAT(tickets.tic_files)) - LENGTH(REPLACE(GROUP_CONCAT(tickets.tic_files) , "," , "")) + 1) FROM tickets
INNER join cats on (tickets.tic_cat = cats.cat_id)
WHERE tickets.tic_files != "" AND tickets.tic_cat = cat__id
LIMIT 1
) as "count(ticket_files)",(
SELECT GROUP_CONCAT(tickets.tic_files) FROM tickets
inner join cats on (tickets.tic_cat = cats.cat_id)
WHERE tickets.tic_files != "" AND tickets.tic_cat = cat__id
LIMIT 1
) as "tickets_files",
COUNT(comments.tic_id),(
SELECT (LENGTH(GROUP_CONCAT(comments.com_files)) - LENGTH(REPLACE(GROUP_CONCAT(comments.com_files) , "," , "")) + 1) FROM comments
INNER join tickets on (tickets.tic_id = comments.tic_id)
INNER join cats on (tickets.tic_cat = cats.cat_id)
WHERE comments.com_files != "" AND comments.tic_id = tickets.tic_id and tickets.tic_cat = cat__id
LIMIT 1
) as "count(com_files)",(
SELECT GROUP_CONCAT(comments.com_files) FROM comments
INNER join tickets on (tickets.tic_id = comments.tic_id)
inner join cats on (tickets.tic_cat = cats.cat_id)
WHERE comments.com_files != "" AND comments.tic_id = tickets.tic_id and tickets.tic_cat = cat__id
LIMIT 1
) as "com_files"
from tickets
INNER JOIN cats ON (tickets.tic_cat = cats.cat_id)
INNER JOIN comments ON (comments.tic_id = tickets.tic_id)
group by tickets.tic_cat
이며, 여기에 결과의 사진입니다
해결
결과 테이블이 약간 잘못되었다고 생각합니다. 3의 tic_id에 대해 2 (com_files), 4의 tic_id에 count_ (com_files)에 대해 0이어야합니다. –
이 디자인은 일종의 미친 짓입니다. 그것을 고칠 너무 늦었습니까? –
@Andrew Jackman, 질문을 편집하십시오. –