database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30909 게시물 읽기
No. 30909
Ms Access 쿼리문을 MySQL쿼리문으로 바꾸려는데...
작성자
지나가는행인
작성일
2015-12-16 10:03
조회수
7,265

update (select top 1 * from orders where tableno=1) set visit = visit-1

위에는 엑세스에서 만든 쿼리문입니다. 물론 오류없이 쿼리 실행도 잘 되고요.

"orders 테이블에서 tableno가 1인 레코드 중에서 가장 최상위 레코드의 visit의 값을 -1 시켜라" 라는 의도로 만들었습니다.

문제는 이걸 MySQL 문법으로 바꾸려니깐 잘 되지가 않네요..

(ot는 디비가 추가된 시간을 넣는 필드입니다.)

update (select * from orders where tableno=1 order by desc ot  limit 1)as x set visit = visit+1

이런식으로 짰느데 오류가 나네요.. 찾아보니깐 MySQL 서브쿼리에서는 order by를 쓰면 안된다고 봐서 다른 별 짓을 다 해봤는데 안돼더라고요 ㅜ

고수님들 도와주세요

이 글에 대한 댓글이 총 2건 있습니다.

단순하게, max 사용하시면 어떠신지?

 

update orders

set visit = visit + 1

where tableno = 1 and ot = ( select max(ot) from order where tableno = 1)

안되나요?

 

박경표님이 2015-12-16 15:38에 작성한 댓글입니다.
이 댓글은 2015-12-16 15:39에 마지막으로 수정되었습니다. Edit

그냥 이렇게 하면 안될런지요?

update orders

  set visit = visit + 1

where tableno = 1

   order by ot desc limit 1;

 

박찬석(libra102)님이 2015-12-23 14:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30912어렵네요...초보자 가 고수님분들께 여쭙니다. [2]
초보
2015-12-30
7408
30911show status; 와 top 결과물 질문 입니다.
하이랜더
2015-12-30
7385
30910숫자를 문자로 불러오는 방법
김양훈
2015-12-27
7059
30909Ms Access 쿼리문을 MySQL쿼리문으로 바꾸려는데... [2]
지나가는행인
2015-12-16
7265
30908mysql 에러 1067 질문이요 ㅠㅠ
나낙이
2015-12-10
6810
30907고수님들 sql문 작성하는데 질문있습니다ㅠㅠㅠ [3]
초짜
2015-12-09
7153
30905db랑 mysql 같은건가요? 설치법 질문! [2]
고준호
2015-12-07
6804
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다