반응형

MySQL 100

그룹의 SQL 선택 멤버

그룹의 SQL 선택 멤버 다음과 같은 사용자 테이블이 있는 경우 class | age -------------- 1 20 3 56 2 11 1 12 2 20 그러면 저는 각 반에서 가장 어린 사용자를 쉽게 구할 수 있습니다. select class, min(age) from user group by class; 마찬가지로 min을 max로 대체하면 가장 오래된 것을 얻을 수 있습니다.그런데 어떻게 하면 각 반에서 10번째로 막내(혹은 맏이)를 받을 수 있을까요?그런데 MySql v.5.0을 사용하고 있습니다. 건배.SELECT a.class, ( SELECT b.age FROM users b WHERE b.class = a.class ORDER BY age LIMIT 1,1 ) as age FROM us..

itsource 2023.10.29

기존 테이블에 부울 열 추가

기존 테이블에 부울 열 추가 기존 테이블에 부울 열을 추가하려고 합니다. alter table chatuser add activerecord bool; alter table chatuser add activerecord boolean; 여기서 active record는 내 부울 열입니다. 두 쿼리 모두 작동하지 않습니다.기존 테이블에 부울 열을 추가하려면 어떻게 해야 합니까?추가할 내용을 정의해야 합니다. 열: alter table chatuser add column activerecord bool; 부족한COLUMN키워드 ALTER TABLE ChatUser ADD COLUMN ActiveRecord TinyInt(1) 기본값으로 추가 ALTER TABLE my_table ADD COLUMN new_f..

itsource 2023.10.24

제한이 있는 MySql 삭제 문

제한이 있는 MySql 삭제 문 테이블에서 행을 삭제하려고 하는데 오류가 발생합니다. DELETE FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50; 50에 오류가 발생합니다. SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 1행에서 '50'에 가까운 구문을 사용할 수 있는지 확인하십시오. 뭐가 문제인지 모르겠어요.간격띄우기를 지정할 수 없습니다.DELETE의LIMIT절 따라서 이를 위한 유일한 방법은 쿼리를 다음과 같은 것으로 다시 쓰는 것입니다. DELETE FROM `chat_messages` WHERE `id` IN ( SELECT `id` FROM ( SELECT `id` FROM `chat_messages` O..

itsource 2023.10.24

MySQL에서 ibtmp1 파일을 정리하거나 크기를 조정하는 방법은 무엇입니까?

MySQL에서 ibtmp1 파일을 정리하거나 크기를 조정하는 방법은 무엇입니까? MySQL 5.7은 InnoDB에 임시 데이터를 저장하는 새로운 파일 ibtmp1을 도입하여 성능을 향상시켰습니다. 하지만 저는 그것의 크기가 지속적으로 증가한다는 것에 주목했습니다.제 db 서버에서는 크기가 92GB로 늘어납니다. 서버를 다시 시작하지 않고 파일 크기를 줄이거나 삭제할 수 있는 방법은 없습니까? 감사해요.한번 생성된 ibtmp1은 mysql 서비스를 다시 시작하지 않으면 어떤 방법으로도 축소할 수 없습니다. 이를 처리하는 방법은 두 가지입니다. 주의사항 : 서버를 시작할 때 이 파일의 크기를 다음과 같이 제한해야 합니다. innodb_temp_data_file_path = ibtmp1:12M:autoexte..

itsource 2023.10.19

여러 테이블이 레일에서 결합

여러 테이블이 레일에서 결합 아래의 mysql 쿼리를 레일 액티브 레코드에 어떻게 쓰나요? select A.*, B.* from raga_contest_applicants_songs AS A join raga_contest_applicants AS B ON B.contest_applicant_id = A.contest_applicant_id join raga_contest_rounds AS C ON C.contest_cat_id = B.contest_cat_id WHERE C.contest_cat_id = contest_cat_id GROUP BY C.contest_cat_id 두 개의 테이블에 조인을 쓰는 방법은 알고 있지만, 세 개의 테이블에 조인을 사용하는 방법에 대해서는 그다지 자신이 없습니다.질..

itsource 2023.10.19

MySql 명령줄 클라이언트를 사용하여 다른 포트에 연결

MySql 명령줄 클라이언트를 사용하여 다른 포트에 연결 이 질문에는 이미 다음과 같은 답변이 있습니다. 대체 포트 번호로 mysql 명령줄 클라이언트를 사용하는 방법은 무엇입니까? (8개 답변) 닫힘6개월 전에. 기본적으로 포트 3309에 연결되어 있습니다.포트 3307에 연결해야 합니다.그걸 어떻게 하는 거죠?사용하다-P다음과 같은 매개 변수: mysql -h 127.0.0.1 -P 3307 -u user_name -p database_name 중요: 에 연결하는 경우localhost- 쓰임새-h 127.0.0.1,것은 아니다.localhost, 왜냐하면 MySQL은 TCP가 아닌 파일 소켓으로 연결될 것이기 때문입니다.명령줄에서 동일한 호스트에 있다고 가정하고 다음을 시도해 본 적이 있습니까? my..

itsource 2023.10.14

MySQL B+tree와 비교하여 btree 인덱스의 포스트그레스 사용

MySQL B+tree와 비교하여 btree 인덱스의 포스트그레스 사용 MySQL에서 PGSQL로 마이그레이션을 진행 중이며 1억 개의 행 테이블을 보유하고 있습니다. 두 시스템 모두 공간을 얼마나 사용하는지 확인하려고 했을 때 테이블의 차이는 훨씬 적었지만 인덱스의 차이는 매우 컸습니다. MySQL 인덱스는 테이블 데이터 자체보다 더 많은 크기를 차지하고 있었고 포스트그레스는 훨씬 더 적은 크기를 사용하고 있었습니다. 그 이유로 파보니 MySQL은 B+ 트리를 사용하여 인덱스를 저장하고 포스트그레스는 B-트리를 사용합니다. 인덱스의 내 SQL 사용량은 약간 달랐습니다. 인덱스와 함께 데이터를 저장하지만(크기가 증가했기 때문에) 포스트그레스는 그렇지 않습니다. 이제 질문: 데이터베이스 스피크에서 B-트리..

itsource 2023.10.14

mysql 또는 php에서 'u00e9'를 utf8 char로 변환하는 방법은 무엇입니까?

mysql 또는 php에서 'u00e9'를 utf8 char로 변환하는 방법은 무엇입니까? mysql로 가져오는 일부 지저분한 데이터에 대해 데이터 정리를 하고 있습니다. 데이터에는 'pseudo' 유니코드 문자가 포함되어 있으며 실제로는 'u00e9' 등으로 문자열에 포함되어 있습니다. 그래서 한 분야는..'Jalostotitlu00e1n' 그 어설픈 'u00e1n'을 뜯어내고 그에 상응하는 utf 캐릭터로 대체해야 합니다. 저는 substring과 CHR을 사용하여 mysql 중 하나로 이것을 할 수 있지만, PHP를 통해 데이터를 선처리하기 때문에 그곳에서도 할 수 있습니다. 나는 이미 utf 데이터와 함께 작동하도록 mysql과 php를 구성하는 방법에 대해 모두 알고 있습니다.문제는 정말 제가 ..

itsource 2023.10.14

Sequel Pro?(GUI 기반 sql navigator)를 대체하는 Linux

Sequel Pro?(GUI 기반 sql navigator)를 대체하는 Linux 문 닫았습니다.이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 권장 사항을 찾고 있습니다.충족되지 않습니다.스택 오버플로 지침.현재 답변을 받지 않고 있습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용하지 않습니다.질문을 편집하여 사실과 인용으로 답변할 수 있습니다. 3년전에 문을 닫았습니다. 이 질문을 개선합니다. 제안하실 분 계신가요?데비안을 운영하고 좋은 대안을 찾고 있습니다.실행 중인 플랫폼에 따라 몇 가지 옵션이 있습니다.다음을 사용할 수 있습니다. 리눅스: Dbeaver Windows:하이디SQL 맥: 시퀄 프로 MySQL Workbench는 훌륭한 크로스 플랫폼 툴입니다.U..

itsource 2023.10.09

database-name에서 대시를 사용하여 bash를 통해 데이터베이스 생성

database-name에서 대시를 사용하여 bash를 통해 데이터베이스 생성 이름에 대시가 있는 bash를 통해 새로운 Database를 생성하려고 합니다. 그게 내가 시도한 것입니다. echo "CREATE DATABASE IF NOT EXISTS db-name CHARACTER SET utf8 COLLATE utf8_general_ci" | mysql -uuser -ppw 다음 오류와 함께 실패합니다. ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-na..

itsource 2023.10.09
반응형